Server computer systems are utilized to provide, among other uses, computing resources for software applications and storage repositories for data. System administrators perform maintenance and upkeep of the server's hardware and software. System administrators may access the server by using a display device, a keyboard, and a pointing device connected to the server.
Graphical-user-interface (GUI) based software applications executing on the server may be used by system administrators to perform maintenance and upkeep of the server hardware and software. Each software application GUI generally allows input and interaction with the software application using the keyboard and pointing device.
Alternatively, in a KVM (keyboard video monitor) arrangement, a display device, keyboard, and mouse are connected to a server management device, which in turn is connected to one or more ports of the server. A system administrator can access the server through the use of the display device, keyboard, and mouse connected to the server management device.
Remote management consoles such as a computer system or personal digital assistant (PDA) may also be used to remotely access and administer servers. Remote management consoles may be connected to the server management device to allow a system administrator to remotely access a server or one server in a group of servers and monitor the status of or administer the server from a remote location. Access to the server may be through dedicated dial-in to the server management device, or by using the world wide web (WWW) via a local area network (LAN) connection, wide area network (WAN) connection or dial-up service to an Internet service provider (ISP) for connection to the server management device.
Remote management consoles may have a pointing device such as a mouse that along with a GUI allows interaction with the server management device. The GUI may be displayed in a WWW browser such as Internet Explorer® or Netscape Navigator®. Software executing on the server may be available to the system administrator through the GUI on the remote management console. Thus, the GUI in the remote management console may allow the system administrator to view software as if the system administrator was in front of the actual server display screen. The administrator may use the keyboard and pointing device of the remote management console to interact with software running on the server.
One issue with using a pointing device of the remote management console to interact with the server is lack of pointer synchronization. Mis-synchronization is primarily due to the inexact nature of pointing devices such as a mouse. A mouse typically signals relative movement to an operating system executing on the computer system to which the mouse is attached. The operating system interprets this data according to various user settings and changes the position of the pointer on the GUI of the computer system display screen. However, when the output signals from the mouse of the remote management console are also directed to the server through the server management device, the operating systems on the remote management console and server may interpret the output signals differently. This difference in interpreting the mouse output signals is because each operating system may have different settings for mouse sensitivity, acceleration, and so forth. Since the operating system of the remote management console and server may transform the relative movement of the mouse into different pointer display coordinates, the pointer within the two GUIs may no longer be synchronized.
In addition, the server may re-position the pointer based on user specified settings. For example, if the user configures the server operating system to move the pointer to the “OK” button when a pop-up dialog box is displayed, the remote management console may not be communicated this change to adjust its pointer. Although additional software could be employed on the server to communicate pointer changes back to the remote management console, this technique requires additional software to be installed on every managed server. Additionally, such software may not be present during operating system initialization or installation. Thus, it is difficult for the pointer position on the remote management console to remain synchronized to the pointer position on the server.
Server management devices typically perform input redirection by creating a virtual input device that may temporarily replace or enhance an input device of the server. This virtual device typically is designed to model the input device used on the remote management console by presenting the same device to the server thus redirecting the input device from the remote management console to the server.